var a = 1;
function foo () {
    var a = 2;
    console.log(this);
    console.log(this.a); // 1
}

foo();

/**
 * 这里我们很容易就知道，foo()函数内的this指向的是window,因为window调用的foo。
 * 但是打印出的this.a呢？注意，是this.a，不是a，因此是window下的a
 * 并且由于函数作用域的原因我们知道window下的a还是1
*/

var a = 1;
function foo() {
    var a = 2;
    function inner () {
        console.log(this.a); // 1
    }
    inner();
}
foo();

/**
 * 其实这里和上面的题很像，不过一看到函数内部的函数，就很容易让人联想到闭包，然后就脱口而出，答案是2！
 * 这里的this指向是window，window.a 是1
*/

